///////////////////////////////////////////////////////////
//  IGameTimer.h
//  Implementation of the Interface IGameTimer
//  Created on:      11-Jan-2015 4:37:11 PM
//  Original author: Eng. Ahmed Yasser
///////////////////////////////////////////////////////////

#if !defined(EA_F05AFC52_3880_4445_AD22_A4898E755A88__INCLUDED_)
#define EA_F05AFC52_3880_4445_AD22_A4898E755A88__INCLUDED_

namespace EngineGame
{
	namespace EngineUtilities
	{
		/**
		 * Basic Definitions for any game timer used in the game
		 * @author Eng. Ahmed Yasser
		 * @version 1.0
		 * @updated 12-Jan-2015 12:01:55 PM
		 */
		class IGameTimer
		{

		public:
			/**
			 * Returns the elapsed time from the last time startTimer called
			 */
			virtual double getElapsedTime() =0;
			/**
			 * Initialize the timer with any pre-required operations
			 */
			virtual void initTimer() =0;
			/**
			 * Start the timer of the game
			 */
			virtual void startTimer() =0;

		};

	}

}
#endif // !defined(EA_F05AFC52_3880_4445_AD22_A4898E755A88__INCLUDED_)
